/* 
 * File:   RemoveStackMemento.h
 * Author: Gab'z
 *
 * Created on 12 juin 2012, 20:17
 */

#ifndef REMOVESTACKMEMENTO_H
#define	REMOVESTACKMEMENTO_H
#include "Memento.h"
#include "../command/literal/Stack.h"

namespace calculator {
    class UndoableRedoableCommand;

    class RemoveStackMemento : public Memento {
        friend class RemoveStackCommand;
        
    public:
        RemoveStackMemento(UndoableRedoableCommand* undoableRedoableCommand,
                const Stack* stack,
                const unsigned int stackIndex);
        virtual ~RemoveStackMemento();
    private:
        const Stack* _stack;
        const unsigned int _stackIndex;

        RemoveStackMemento(const RemoveStackMemento& orig);
    };
}

#endif	/* REMOVESTACKMEMENTO_H */

